package com.timebank.volunteer.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.timebank.common.core.web.pojo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 志愿服务信息传递的数据对象
 *
 * @author shiliuyinzhen
 */
@Data
@ApiModel(description = "志愿服务信息传递的数据对象")
public class VolunteerDTO extends BaseEntity{

    /** 发布人id */
    @ApiModelProperty("发布人id")
    private Long publisherId;

    /** 封面 */
    @ApiModelProperty("封面")
    private String cover;

    /** 志愿服务名称 */
    @ApiModelProperty("志愿服务名称 ")
    private String title;

    /** 志愿服务概述 */
    @ApiModelProperty("志愿服务概述")
    private String description;

    /** 志愿服务具体内容 */
    @ApiModelProperty("志愿服务具体内容")
    private String content;

    /** 志愿服务人数 */
    @ApiModelProperty("志愿服务人数")
    private Integer volunteerNum;

    /** 报名截止时间 */
    @ApiModelProperty("报名截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", shape = JsonFormat.Shape.STRING)
    private LocalDateTime deadline;

    /** 志愿服务开始时间 */
    @ApiModelProperty("志愿服务开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", shape = JsonFormat.Shape.STRING)
    private LocalDateTime beginTime;

    /** 志愿服务结束时间 */
    @ApiModelProperty("志愿服务结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", shape = JsonFormat.Shape.STRING)
    private LocalDateTime endTime;

    /** 志愿服务类型id (1:  2:  ) */
    @ApiModelProperty("志愿服务类型id")
    private Integer typeId;

    /** QQ */
    @ApiModelProperty("QQ")
    private String qq;

    /** 微信 */
    @ApiModelProperty("微信")
    private String wx;

    /** email */
    @ApiModelProperty("email")
    private String email;

    /** 电话号码 */
    @ApiModelProperty("电话号码")
    private String phone;

    /** 省份编码 */
    @ApiModelProperty("省份编码")
    private String procode;

    /** 城市编码 */
    @ApiModelProperty("城市编码")
    private String citycode;

    /** 区/县编码 */
    @ApiModelProperty("区/县编码")
    private String adcode;

    /** 志愿服务地址 */
    @ApiModelProperty("志愿服务地址")
    private String address;

    /** 地理坐标 */
    @ApiModelProperty("地理坐标")
    private String location;

    /** 时间币数量 */
    @ApiModelProperty("时间币数量")
    private Integer timeCoin;

    @ApiModelProperty("支付密码")
    private String payPassword;

    /** 状态(0: 未通过审核 1：审核通过 2：审核中)*/
    @ApiModelProperty("状态")
    private Integer status;

    /** 发布时间降序 0：升序 1：降序 */
    private Integer isCreateTimeDesc;

    /** 距离：米 */
    private Long Distance;
}
